home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-sdr-route-setup-00.txt < prev    next >
Text File  |  1993-07-08  |  11KB  |  241 lines

  1.  
  2. SDR Working Group                                     Deborah Estrin
  3. INTERNET DRAFT                                        Daniel Zappala
  4.                                                                  USC
  5.                                                              Tony Li
  6.                                                        cisco Systems
  7.                                                              6/22/93
  8.                                                           Revision 0
  9.                                            Expiration Date: 12/31/93
  10.  
  11.  
  12.                          Source Demand Routing:
  13.                               Route Setup
  14.  
  15.  
  16.  
  17. Status of this Memo
  18.  
  19.  
  20.    This document is an Internet Draft. Internet Drafts are working
  21.    documents of the Internet Engineering Task Force (IETF), its Areas,
  22.    and its Working Groups. Note that other groups may also distribute
  23.    working documents as Internet Drafts.
  24.  
  25.    Internet Drafts are draft documents valid for a maximum of six
  26.    months.  Internet Drafts may be updated, replaced, or obsoleted by
  27.    other documents at any time. It is not appropriate to use Internet
  28.    Drafts as reference material or to cite them other than as a "working
  29.    draft" or "work in progress".
  30.  
  31.  
  32. 1  Introduction
  33.  
  34.  
  35.    This document is a supplement to the internet draft "Source Demand
  36.    Routing: Packet Format and Forwarding Specification" [1]. The initial
  37.    specification in [1] includes a full SDRP route in every data packet
  38.    sent.  In some cases, commonly known as "flows", where the duration
  39.    of a packet stream is significantly longer than the end-to-end
  40.    round-trip delay, and particularly where the amount of payload in the
  41.    packet is small, it is worthwhile to "set up" the SDRP route by
  42.    saving state information in SDRP routers, instead of carrying the
  43.    full SDRP route in every packet.  Once this state is established, the
  44.    source can use a route identifier to refer to the SDRP route rather
  45.    than carrying the full route in each data packet, thereby reducing
  46.    the SDRP packet header size and transmission time.
  47.  
  48.  
  49. 2  Protocol Overview
  50.  
  51.  
  52.    It is important to our architecture that we not impose setup on SDRP
  53.    routers that are short on state space or that otherwise restrict
  54.    setup.  Therefore, the desire for setup is simply flagged by the
  55.    source, and the routers along the SDRP route may choose to accept or
  56.    reject the request.  If all of the routers along the SDRP route
  57.    accept, then the source can begin using a route identifier to refer
  58.    to the saved state.  If any router refuses setup, the source must
  59.    continue including the full source route in each data packet or else
  60.    try a different route.
  61.  
  62.    When a router rejects a setup request, it sends an SDRP control
  63.    message containing the route identifier to the source.  Control
  64.    messages are also used in this manner if a router loses or is missing
  65.    state for a particular route identifier.  When a router accepts a
  66.    setup request, it continues forwarding the request along the SDRP
  67.    route.  Successful route setup is indicated when the final router on
  68.    the SDRP route sends an SDRP probe containing the route identifier to
  69.    the source.
  70.  
  71.  
  72. 3  SDRP Packet format
  73.  
  74.  
  75.    The following diagram is reproduced from [1] and describes the format
  76.    of an SDRP packet.  Below we describe several new Source Route
  77.    Protocol Types and extensions to any other fields necessary to
  78.    support these types.  All other fields are as described in [1].
  79.  
  80.        0                   1                   2                   3
  81.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  82.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  83.        | Ver |D|S|P|   |   Hop Count   |SourceProtoType|  Payload Type |
  84.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  85.        |                   Source Route Identifier                     |
  86.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  87.        |                         Target Router                         |
  88.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  89.        |                            Prefix                             |
  90.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  91.        |  PrefixLength |  Notification |SrcRouteLength |   NextHopPtr  |
  92.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  93.        |                Source Route ...
  94.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  95.        |                Payload ....
  96.        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  97.  
  98.       Source Route Protocol Type (1 octet)
  99.  
  100.       The Source Route Protocol Type field indicates the type of information
  101.       that appears in the source route.  The value 1 in this field indicates
  102.       an "Explicit Source Route."  The source route is included explicitly
  103.       and processed as described in [1].  The value 2 in this field
  104.       indicates "Route Setup."  The source route is included explicitly and
  105.       route setup is performed as described in this document.  The value 3
  106.       in this field indicates "Use Setup Route."  The source route is not
  107.       included in the packet and previously established route state should
  108.       be used as described in this document.
  109.  
  110.       Notification Code (1 octet)
  111.  
  112.       This field is only meaningful in control packets.  In data
  113.       packets, this field is transmitted as zero, and should be ignored
  114.       on receipt.  This document adds the following values for the
  115.       Notification Code:
  116.  
  117.          8 - Setup Request Rejected
  118.  
  119.          9 - Setup State Missing
  120.  
  121.  
  122. 4  Requesting SDRP Setup
  123.  
  124.  
  125.    A source originating SDRP packets requests SDRP setup by setting the Source
  126.    Route Protocol Type to "Route Setup," setting the Probe Indicator bit to 1,
  127.    and setting all other fields as described in [1].  The source MAY wait a
  128.    full round-trip time for a response to the setup request, in the meantime
  129.    sending subsequent packets with the Source Route Protocol type set as
  130.    "Explicit Source Route."  There is no limit, however, to the number or
  131.    frequency of setup requests, thus the source MAY send another "Route
  132.    Setup".
  133.  
  134.    A source MAY choose to send packets with a Source Route Protocol Type of
  135.    "Use Setup Route" immediately after sending the setup request.  This may be
  136.    useful if the packets will be useless after waiting a full round-trip time.
  137.    In this case, the packets will be delivered if the setup is successful, but
  138.    may be dropped otherwise.
  139.  
  140.    The control messages sent by routers to indicate the status of
  141.    a setup request are described in section 6.
  142.  
  143.  
  144. 5  Forwarding SDRP Setup Requests
  145.  
  146.  
  147.    If the Source Route Protocol Type of a packet is "Explicit Source
  148.    Route," it is handled as described in [1].
  149.  
  150.    If the Source Route Protocol Type of a packet is "Use Setup Route," the
  151.    router accesses the source route forwarding cache containing the necessary
  152.    forwarding information, as described in section 7.  The router SHOULD use
  153.    this information to modify the destination address of the delivery header
  154.    and send the packet to the next hop.  If no forwarding information is
  155.    found, then the router MAY send a control message with a Notification Code
  156.    of "Setup State Missing" to the source of the SDRP packet.  Because the
  157.    source may be attempting to send many packets before receiving notification
  158.    of a successful setup request, the router MAY send notification of a
  159.    dropped packet only periodically.
  160.  
  161.    If the Source Route Protocol Type of a packet is "Route Setup" and the
  162.    router does not or cannot support setup, the router MAY send the
  163.    source a control packet with a Notification Code of "Setup Request
  164.    Rejected."  It MAY then modify the data packet so that the Source Route
  165.    Protocol Type is "Explicit Source Route" and the Probe Indicator bit
  166.    is 0, then forwards the packet as described in [1].  The router MAY
  167.    send notification of a failed setup request only periodically.
  168.    Alternately, a router MAY silently drop the "Route Setup" packet.
  169.  
  170.    If the Source Route Protocol Type of a packet is "Route Setup" and the
  171.    router can accept the setup, and there is no matching route in its source
  172.    route forwarding cache, then the router SHOULD process the explicit source
  173.    route according to [1].  In addition, if the router is not the last hop of
  174.    the source route, it creates an entry in the source route forwarding cache
  175.    using the source address of the delivery header and the Source Route
  176.    Identifier as a key.  This entry contains the forwarding information
  177.    obtained when processing the source route.  The packet is then forwarded to
  178.    the next SDRP router.  If the router is the last hop of the source route,
  179.    it forwards the payload packet and responds to the Probe Indicator bit as
  180.    described in [1].  This will return a control message with a Notification
  181.    Code of "Probe Completed" and a Source Route Protocol Type of "Route Setup"
  182.    to the source of the packet.
  183.  
  184.  
  185. 6  Processing Control Messages
  186.  
  187.  
  188.    If the source receives a control message with a Notification Code
  189.    of "Probe Completed" and the Source Route Protocol Type set to
  190.    "Route Setup," then the SDRP route has been successfully
  191.    established.  The source MAY send subsequent data packets with
  192.    the Source Route Protocol Type set to "Use Setup Route," omitting
  193.    the source route and setting all other fields as described in [1].
  194.  
  195.    If the source receives a control message with a Notification Code of "Setup
  196.    Request Rejected," the source must send data packets with an explicit
  197.    source route or try an alternate route.  The source MAY retry the setup.
  198.  
  199.    In general, setup rejections should be weighted more heavily than setup
  200.    accepts.  In this way, if a path is flopping between two different SDRP
  201.    routers in one domain, where one router is full and generates rejects and
  202.    the other generates accepts, then the source will tend to use the router
  203.    that accepts the setup route.
  204.  
  205.  
  206. 7  Source Route Forwarding Cache
  207.  
  208.  
  209.    The setup state maintained by each SDRP router contains any information
  210.    necessary to forward packets along a stable route.  In addition to the
  211.    NEXT_ROUTER or NEXT_DI discovered when processing the explicit source
  212.    route, the forwarding information may include the NEXT_HOP, MODE, and
  213.    changes to the Loose/Strict Source Route bit, so that the NEXT_HOP
  214.    calculation can be periodically refreshed.  The delivery source address and
  215.    Source Route Identifier serve as a key to this cache.
  216.  
  217.    Each entry in the cache can be timed out at any time, and SHOULD
  218.    be timed out after long idle periods.  The particular policy used
  219.    for timing out cache entries depends on the router.
  220.  
  221.  
  222. 8  References
  223.  
  224.  
  225.    [1] Estrin, D., Li, T., Rekhter, Y., Zappala, D., Source Demand Routing:
  226.    Packet Format and Forwarding Specification (Version 1), work in progress
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.